bat批处理示例(四)

您所在的位置:网站首页 批处理 删除指定文件夹 bat批处理示例(四)

bat批处理示例(四)

2024-07-13 06:12| 来源: 网络整理| 查看: 265

需求:遍历NLCloud下文件名为5和6开头的文件夹,如果此文件夹下存在appsettings.json,删除5和6开头的文件和文件夹下的子目录下所有名字不是appsettings.json的文件和文件夹.

1.dir命令补充:

/ad:属性为目录

以下命令解释:筛选出当前目录下的所有属性为目录的文件名

 dir . /ad /b 

/a-d:属性为非目录

以下命令解释:筛选出当前目录下的所有属性不是目录的文件名

dir . /a-d /b 

  2.findstr命令补充:

/i:忽视大小写

/v:只打印不包含匹配的行,即筛选出非指定的所有内容

dir . /a-d /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\files.txt rem 删除属性为非目录文件( a-d),文件名不是appsettings.json的文件 dir . /ad /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\folders.txt rem 删除属性为目录文件(ad),文件名不是appsettings.json的文件

3.最终脚本:

@echo off SETLOCAL ENABLEDELAYEDEXPANSION f: cd \V2.0.1-meinian\NLCloud dir /b 5* > name.txt dir /b 6* >> name.txt for /f "delims=" %%i in (name.txt) do ( set a=%%i if exist !a!\appsettings.json ( cd !a! echo ..........................enter into !a! .......................... dir . /a-d /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\files.txt rem 删除属性为非目录文件( a-d),文件名不是appsettings.json的文件 dir . /ad /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\folders.txt rem 删除属性为目录文件(ad),文件名不是appsettings.json的文件 echo ..........................exit from !a! .......................... cd .. for /f "delims=" %%j in (f:\V2.0.1-meinian\NLCloud\!a!\files.txt) do del /q !a!\%%j for /f "delims=" %%k in (f:\V2.0.1-meinian\NLCloud\!a!\folders.txt) do rd /q /s !a!\%%k del /q !a!\files.txt !a!\folder.txt ) ) pause

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3